Home 

IBM 5160  -  Some test code for U18


This is 32 KB sized code to go into ROM U18 (which is 32 KB sized) on an IBM 5160 (IBM XT) motherboard.
If your IBM 5160 motherboard is a 64-256KB type, the TMM23256/MK37000/MK38000 ROM's can in most cases be replaced with 27C256 EPROM's, but some brands of 27C256 may be unsuitable for the 64-256KB motherboard - see here.
If your IBM 5160 motherboard is a 256-640KB type, then you can use a 27C256 (or 27256) EPROM, or a Winbond W27E257.
For the IBM 5160, use EPROM's that are rated at 250 ns, or faster.  (Reference.)

The intended users of these tests are:
• People who know what they are doing (e.g. why they are executing a particular test, and the significance of the test's passing or failure); and
• People who are under the expert guidance of others, directed to execute one or more of these tests, and feeding back the result/s.



TEST6055

All that the code does is send the byte of {55} to parallel (LPT) ports 378, 278, and 3BC, then it halts the CPU.

You can observe the 55 by using a parallel (LPT) port POST code reader (example) connected one of the aforementioned parallel (LPT) ports.

Details are in the TEST6055.TXT file within the ZIP download file.

Download:  TEST6055.zip


TEST6000

All that the code does is send the 4 bytes of {00}{FF}{55}{AA}, in that order, to parallel (LPT) ports 378, 278, and 3BC, then it halts the CPU.

You can observe those bytes by using a parallel (LPT) port POST code reader (example) connected one of the aforementioned parallel (LPT) ports.

Details are in the TEST6000.TXT file within the ZIP download file.

Download:  TEST6000.zip


TEST6046

Sets up the 8253 and 8255 chips in a way that results in a continuous tone from the speaker.

Typically, used with certain test equipment to diagnose why the speaker does not beep.

Details are in the TEST6046.TXT file within the ZIP download file.

Download:  TEST6046.zip


TEST6065

PURPOSE:  To detect 'stuck' bits on the address bus and the external address bus.

The code, in a loop:
Step 1:  Reads address 00000  (00000000000000000000 binary).
Step 2:  Reads address FFFFF  (11111111111111111111 binary).

Reference diagram at here.

The intention is, for diagnostic purposes, to use this code together with a logic probe, the probe used to:
Step 1: Verify that the address bus lines of A0 to A19 are toggling/pulsing.
Step 2: Verify that the external address bus lines of XA0 to XA19 are toggling/pulsing.

Details are in the TEST6065.TXT file within the ZIP download file.

Download:  TEST6065.zip


TEST6077

PURPOSE:  To crudely test addressing of the U18 ROM.

Tests 128 addresses, spanned between the motherboard addresses of F8000 and FFFFF, the 32 KB sized address range that the first BIOS ROM (socket U18) of the IBM 5160 occupies.

Outputs progress and good/bad status to parallel (LPT) ports 378, 278, and 3BC.
That progress and good/bad status can be observed by you using a parallel (LPT) port POST code reader (example) connected one of the aforementioned parallel (LPT) ports.

Details are in the TEST6077.TXT file within the ZIP download file.

The ZIP download file includes a video (about 8 minutes long) that shows what is expected to be seen on the parallel (LPT) port POST code reader.

Download:  TEST6077.zip


TEST6083  (PB3 pin of 8255)

About every two seconds, the PB3 pin (pin 21) of the IBM 5160 motherboard's 8255 chip is toggled between the HIGH/LOW states.
The toggling never stops.
The toggling can be observed by monitoring the PB3 pin via a logic probe, or via a multimeter (in 'DC voltage' mode).

Details are in the TEST6083.TXT file within the ZIP download file.

The ZIP download file includes a video that shows what is expected to be seen if a multimeter is used.

Download:  TEST6083.zip


TEST6082  (PB2 pin of 8255)

Just like TEST6083, except that what is toggled, is the PB2 pin (pin 20), instead of PB3.

Download:  TEST6082.zip


TEST6099  (BASE 16K RAM test)

TEST6099 should no longer be required.

Why?  As of version 3.4, Ruud's Diagnostic ROM will detect RAM addressing issues.

See note 1 below.

PREREQUISITE:  TEST6082 and TEST6083 pass.
PREREQUISITE:  Motherboard is fit enough to generate speaker beeps.

This is a modified version of the 11/08/82 (08NOV82) revision of BIOS ROM for the IBM 5160 (IBM XT) motherboard.

Its use answers the following two questions:

1.  Is the POST (power-on self test) in the 11/08/82 revision of BIOS ROM for the IBM 5160 motherboard, starting and getting as far as the BASE 16KB RAM test ?
2.  If the answer to question 1 is yes, is that test passing or failing ?

The answers are signalled to you via two ways:
- The speaker; and
- The PB2/PB3 pins of the motherboard's 8255 chip.

This test code is testing RAM.  So of course, this test code purposely does not use RAM; it only tests it.

More detail is in the TEST6099.TXT file within the ZIP download file.

NOTE:  The 1986 dated IBM 5160 BIOS' test 64KB, not 16 KB.

Download:  TEST6099.zip



Note 1 • The POST within the IBM BIOS ROM detects some cases of addressing problems in RAM.
• Supersoft/Landmark Diagnostic ROM does not.
• Early versions of Ruud's Diagnostic ROM do not.

And that was the primary reason why TEST6099 was created; because the Supersoft/Landmark Diagnostic ROM and Ruud's Diagnostic ROM were not detecting the particular RAM addresing issues that the POST in the IBM BIOS does.

But now, Ruud's Diagnostic ROM (of version 3.4 and later) will, as well as detecting additional RAM addressing problems beyond what the POST in the IBM BIOS does.